1. Field of the Invention
The present invention relates to a radio terminal, a communication control method and a computer program utilizing, for example, a radio connection technique “Bluetooth (trademark)”.
2. Description of the Related Art
Recently, much attention has been paid to Bluetooth (trademark). Components needed for Bluetooth are less expensive than those needed for a radio LAN, and Bluetooth can be used anywhere in the world, utilizing the 2.4 GHz band.
In communication terminals utilizing Bluetooth, a virtual COM port (RFCOMM) is generally used for data transmission/reception. Connection via a virtual COM port (RFCOMM connections) is carried out by the following procedure.
Firstly, a device C starts to execute a Device Discovery procedure for discovering devices existing in the vicinity. In this procedure, the device C broadcasts an Inquiry message, and another device S having received this message returns, to the device C, a response message that includes its own identifier (MAC ID). Thus, the device C can know the identifiers of other devices around it.
Subsequently, the device C acquires service information (Service Record), utilizing the following procedure based on Service Discovery Protocol (SDP).
The device C establishes a connection (SDP connection) for acquiring service information with respect to a device discovered by the device discovery procedure, e.g. the device S. After that, the device C requests, to the device S, return of service information relating to a target service. Upon receiving the request, the device S returns this service information to the device C. After receiving the service information from the device S, the device C disconnects the SDP connection. This device discovery procedure and service information acquiring procedure are disclosed in, for example, Jpn. Pat. Appln. KOKAI Publication No. 2001-168881.
In the above service discovery protocol, however, only one-way transfer of service information is performed by the device S having received a return request, to the device C having made the request, but not vice versa.
After that, the device C performs a virtual COM port connection, using, as parameters, the identifier (MAC ID) of the device S obtained by the device discovery procedure, and a server channel number stored in the service information obtained from the service discovery protocol. As a result, a RFCOMM connection is established between the devices C and S for data transmission/reception.
If the device C pre-acquires a device identifier and server channel number as parameters necessary to establish a RFCOMM connection, the above-described procedure for acquiring service information can be omitted. However, in general, users cannot be expected to pre-acquire the parameters of an arbitrary communication device, therefore the above procedure is needed.
In Bluetooth, to establish an SDP connection or a RFCOMM connection, it is necessary to create a network called a “piconet”, which is formed of one master device and one or more slave devices. Between a master device and slave device that belong to same piconet, the SDP connection and the RFCOMM connection are superposed on a baseband link by a logical link (L2CAP (Logical Link Control and Adaptation Layer Protocol)). Thus, a plurality of connections can be simultaneously established between the devices. Further, these connections can be established by either the master or slave device.
Since connections can be superposed between devices that belong to the same piconet, another connection can be easily established between devices that are communicating with each other via a certain connection. For example, when devices are accessing each other using a virtual COM port and a RFCOMM connection, an SDP connection can also be established therebetween to acquire service information, or another RFCOMM connection can be established.
However, in general use of Bluetooth, it is often impossible to create a new piconet between a device belonging to a certain piconet, and a device that does not belong to this piconet. In other words, when two devices are linked to each other, it is difficult for a third device to establish a link with one of the already-linked devices. If a link cannot be established, a connection for data transmission/reception cannot be established. Therefore, it is difficult for the third device to establish a connection for data transmission/reception with one of those devices.
The above describes a RFCOMM connection as an example. Service information relating to a destination device is always needed to access it utilizing the Bluetooth profile. For example, in a Personal Area Network (PAN), communication is performed without a RFCOMM connection. However, service information is needed to establish a PAN.
When portable devices having a communication function are used to perform a certain function, it may be necessary to transmit information from one device to another device. In an electronic conference, for example, material prepared in the form of a file stored in each portable device is distributed to other devices, or message exchange is performed using a chat function.
However, as described above, service information relating to a destination device is needed to establish a connection for data transmission/reception. Thus, to establish a connection with an arbitrary device to freely execute communication, it is necessary for each device to pre-acquire service information relating to all the other devices.
It is difficult, however, to establish an SDP connection between a third device and first or second device when the first and second devices are linked for communication. Therefore, it is also difficult to quickly acquire service information. Further, even if an SDP connection can be established, only one-way transmission of service information is executed from the device with which a connection is established to the device that has established the connection. This is inefficient.